package mx.com.asteca.persistencia.entidades;
// Generated 31/07/2013 11:41:38 AM by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ProgramaEstudios generated by hbm2java
 */
@Entity
@Table(name="programa_estudios"
    ,catalog="astecadb"
)
public class ProgramaEstudios  implements java.io.Serializable {


     private int idProgEstudio;
     private CatGral catGral;
     private String clave;
     private String dsc;
     private String noAut;
     private Date fechaAut;
     private String horasPractica;
     private String horasTeoria;
     private Set<ProgramaEstMaterias> programaEstMateriases = new HashSet<ProgramaEstMaterias>(0);
     private Set<AutorizacionesProgrEst> autorizacionesProgrEsts = new HashSet<AutorizacionesProgrEst>(0);

    public ProgramaEstudios() {
    }

	
    public ProgramaEstudios(int idProgEstudio) {
        this.idProgEstudio = idProgEstudio;
    }
    public ProgramaEstudios(int idProgEstudio, CatGral catGral, String clave, String dsc, String noAut, Date fechaAut, String horasPractica, String horasTeoria, Set<ProgramaEstMaterias> programaEstMateriases, Set<AutorizacionesProgrEst> autorizacionesProgrEsts) {
       this.idProgEstudio = idProgEstudio;
       this.catGral = catGral;
       this.clave = clave;
       this.dsc = dsc;
       this.noAut = noAut;
       this.fechaAut = fechaAut;
       this.horasPractica = horasPractica;
       this.horasTeoria = horasTeoria;
       this.programaEstMateriases = programaEstMateriases;
       this.autorizacionesProgrEsts = autorizacionesProgrEsts;
    }
   
     @Id 
     @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="ID_PROG_ESTUDIO", unique=true, nullable=false)
    public int getIdProgEstudio() {
        return this.idProgEstudio;
    }
    
    public void setIdProgEstudio(int idProgEstudio) {
        this.idProgEstudio = idProgEstudio;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_TIPO")
    public CatGral getCatGral() {
        return this.catGral;
    }
    
    public void setCatGral(CatGral catGral) {
        this.catGral = catGral;
    }
    
    @Column(name="CLAVE", length=30)
    public String getClave() {
        return this.clave;
    }
    
    public void setClave(String clave) {
        this.clave = clave;
    }
    
    @Column(name="DSC", length=50)
    public String getDsc() {
        return this.dsc;
    }
    
    public void setDsc(String dsc) {
        this.dsc = dsc;
    }
    
    @Column(name="NO_AUT", length=20)
    public String getNoAut() {
        return this.noAut;
    }
    
    public void setNoAut(String noAut) {
        this.noAut = noAut;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="FECHA_AUT", length=10)
    public Date getFechaAut() {
        return this.fechaAut;
    }
    
    public void setFechaAut(Date fechaAut) {
        this.fechaAut = fechaAut;
    }
    
    @Column(name="HORAS_PRACTICA", length=20)
    public String getHorasPractica() {
        return this.horasPractica;
    }
    
    public void setHorasPractica(String horasPractica) {
        this.horasPractica = horasPractica;
    }
    
    @Column(name="HORAS_TEORIA", length=20)
    public String getHorasTeoria() {
        return this.horasTeoria;
    }
    
    public void setHorasTeoria(String horasTeoria) {
        this.horasTeoria = horasTeoria;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="programaEstudios")
    public Set<ProgramaEstMaterias> getProgramaEstMateriases() {
        return this.programaEstMateriases;
    }
    
    public void setProgramaEstMateriases(Set<ProgramaEstMaterias> programaEstMateriases) {
        this.programaEstMateriases = programaEstMateriases;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="programaEstudios")
    public Set<AutorizacionesProgrEst> getAutorizacionesProgrEsts() {
        return this.autorizacionesProgrEsts;
    }
    
    public void setAutorizacionesProgrEsts(Set<AutorizacionesProgrEst> autorizacionesProgrEsts) {
        this.autorizacionesProgrEsts = autorizacionesProgrEsts;
    }




}


